From 7a2e629bd0e6abcb63ab691be943e56b7df004ac Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 8 Feb 2021 18:57:06 +0100 Subject: [PATCH] gdm: Fail and restart verification on conversation stopped for all services Currently when the foreground service conversation stops we increase the verification failed count and try to start it again, while if a background service has been stopped we just ignore it. This is causing a various number of issues, for example in the case of the fingerprint authentication service, it is normally configured to die after a timeout, and we end up never restarting it (while the UI still keeps showing to the user the message about swipe/touch the device). So, in such case let's just consider it a "soft" verification failure that doesn't increase the failures count but will cause us to reset the UI and try to restart the authentication (and so the affected service). Part-of: --- js/gdm/util.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/gdm/util.js b/js/gdm/util.js index 1666fd842..a91badf4f 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -677,10 +677,10 @@ var ShellUserVerifier = class { // if the password service fails, then cancel everything. // But if, e.g., fingerprint fails, still give // password authentication a chance to succeed - if (this.serviceIsForeground(serviceName)) { + if (this.serviceIsForeground(serviceName)) this._failCounter++; - this._verificationFailed(serviceName, true); - } + + this._verificationFailed(serviceName, true); } }; Signals.addSignalMethods(ShellUserVerifier.prototype); -- 2.39.5